package com.chapter5.string;

public interface StringST<Value> {

	void put(String key,Value value);
	
	Value get(String key);
	
	void delete(String key);
	
	boolean contains(String key);
	
	boolean isEmpty();
	
	int size();
	
	/**所有key*/
	Iterable<String> keys();
	
	/**所有以s为前缀的key*/
	Iterable<String> keysWithPrefix(String s);
	
	/**所有和s匹配的key(其中"."能够匹配任意字符)*/
	Iterable<String> keysThatMatch(String s);
	
	/**以s为前缀的最长的key*/
	String longestPrefixOf(String s);
	
}
